Favicon

You are here: Home > API Reference > App Distribution > Application > Create new mobile or desktop application

Create new mobile or desktop application

Required Permission: mad.application.management.create

Creates a new application record within the specified organization, establishing the foundation for mobile or desktop app distribution, device management, and lifecycle tracking across supported platforms with customizable configuration settings.

POST
https://api.applivery.io/v1/organizations/{organizationId}/apps
curl -X POST "https://api.applivery.io/v1/organizations/{organizationId}/apps" \
  -H "Authorization: Bearer <YOUR_API_KEY>" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Enterprise Mobile Banking App",
  "configuration": {
    "storageProvider": "507f1f77bcf86cd799439012",
    "notificationLanguage": "en"
  },
  "metadata": {
    "costCenter": "IT-2024",
    "projectCode": "MOBILE-BANK-001",
    "complianceLevel": "PCI-DSS"
  },
  "defaultScripts": {
    "preInstall": "string",
    "postInstall": "string",
    "audit": "string",
    "enforce": "string",
    "runner": "string"
  }
}'
const response = await fetch("https://api.applivery.io/v1/organizations/{organizationId}/apps", {
  method: "POST",
  headers: {
    Authorization: "Bearer <YOUR_API_KEY>",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    "name": "Enterprise Mobile Banking App",
    "configuration": {
      "storageProvider": "507f1f77bcf86cd799439012",
      "notificationLanguage": "en"
    },
    "metadata": {
      "costCenter": "IT-2024",
      "projectCode": "MOBILE-BANK-001",
      "complianceLevel": "PCI-DSS"
    },
    "defaultScripts": {
      "preInstall": "string",
      "postInstall": "string",
      "audit": "string",
      "enforce": "string",
      "runner": "string"
    }
  }),
});

const data = await response.json();
import requests

response = requests.post(
    "https://api.applivery.io/v1/organizations/{organizationId}/apps",
    headers={"Authorization": "Bearer <YOUR_API_KEY>"},
    json={
      "name": "Enterprise Mobile Banking App",
      "configuration": {
        "storageProvider": "507f1f77bcf86cd799439012",
        "notificationLanguage": "en"
      },
      "metadata": {
        "costCenter": "IT-2024",
        "projectCode": "MOBILE-BANK-001",
        "complianceLevel": "PCI-DSS"
      },
      "defaultScripts": {
        "preInstall": "string",
        "postInstall": "string",
        "audit": "string",
        "enforce": "string",
        "runner": "string"
      }
    },
)

data = response.json()

Request

Send your API key in the request header authorization
Example: Authorization: Bearer <token>

organizationId string
required
Unique identifier or URL-friendly slug for the organization that owns the applications to operate on, establishing organizational scope for all nested application operations.
Match pattern: ^(([a-fA-F0-9]{24})|([a-zA-Z0-9\\-]{3,}))$

Body Params application/json
name string required
Required human-readable name for the new application that will be displayed across dashboards and distribution portals.
≤ 128 characters
configuration object optional
Optional initial configuration settings for storage provider and notification preferences.
storageProvider string optional
Cloud storage provider identifier to use for storing builds, or empty string/__DEFAULT__ to use organization default storage.
Match pattern: ^[a-fA-F0-9]{24}$
notificationLanguage string optional
Preferred language code for all automated notification emails and messages sent to users regarding this application, supporting internationalization and localization for global enterprise deployments across multiple regions.
es en fr de it zh pt ru
metadata object optional
Flexible key-value object for storing custom application attributes, integration identifiers, or business-specific data that extends the core application model without requiring schema modifications for unique organizational requirements.
defaultScripts object optional
Predefined automation scripts that execute at specific lifecycle events for all builds of this application, such as post-upload processing, notification triggers, or integration webhooks that streamline deployment workflows.
preInstall string optional
postInstall string optional
audit string optional
enforce string optional
runner string optional
{
    "name": "Enterprise Mobile Banking App",
    "configuration": {
        "storageProvider": "507f1f77bcf86cd799439012",
        "notificationLanguage": "en"
    },
    "metadata": {
        "costCenter": "IT-2024",
        "projectCode": "MOBILE-BANK-001",
        "complianceLevel": "PCI-DSS"
    },
    "defaultScripts": {
        "preInstall": "string",
        "postInstall": "string",
        "audit": "string",
        "enforce": "string",
        "runner": "string"
    }
}

Responses

200 Response application/json
status boolean optional
data object optional
id string optional
Unique identifier for the application within the platform, used to reference this specific mobile or desktop app throughout the entire distribution workflow and analytics tracking.
Match pattern: ^[a-fA-F0-9]{24}$
name string optional
Human-readable name of the application that is displayed across the dashboard, distribution portals, and device management interfaces to help users identify the app being managed.
≤ 128 characters
slug string optional
URL-friendly unique identifier derived from the application name, used for public-facing store pages, download links, and shareable distribution URLs that end users will interact with.
≤ 128 characters · ≥ 3 characters · Match pattern: ^[a-z0-9][a-z0-9-]+[a-z0-9]$
sdk object optional
Platform-specific SDK configuration that governs how the mobile application interacts with the distribution platform, including update mechanisms, authentication, and version control for both iOS and Android.
ios object optional
Configuration settings for the iOS Software Development Kit integration, controlling over-the-air update behavior, version enforcement, and authentication requirements for Apple platform devices.
android object optional
Configuration settings for the Android Software Development Kit integration, controlling over-the-air update behavior, version enforcement, and authentication requirements for Android platform devices.
notifications object optional
Notification preferences that control automated communication workflows for new builds, updates, and user feedback, enabling organizations to keep stakeholders informed throughout the application lifecycle management process.
newBuildNotifyCollaborators boolean optional
Flag indicating whether team members with collaboration permissions should receive automated email notifications whenever a new build is uploaded and becomes available for testing or distribution.
newBuildNotifyEmployees boolean optional
Flag indicating whether employees enrolled through enterprise device management should receive automated notifications on their managed devices when a new application version is available for installation.
newBuildMessage string optional
Custom message text that will be included in new build notification emails or push notifications to provide context, release notes, or special instructions to recipients receiving the update.
newFeedbackNotifyCollaborators boolean optional
Flag indicating whether team members with collaboration permissions should receive automated notifications when end users submit feedback, bug reports, or crash logs through the integrated feedback system.
description string optional
Detailed textual description of the application providing context about its purpose, target audience, key features, and business use case to help team members understand its role.
≤ 1000 characters
oss array [string] optional
Array of operating system platforms that this application supports or has builds available for, including iOS, Android, macOS, and Windows, enabling cross-platform distribution and device management capabilities.
buildPlatforms array [string] optional
List of specific build platforms and architectures that have been uploaded for this application, providing granular detail about device compatibility such as iOS universal, Android ARM64, or Windows x86.
security object optional
Security context object containing the current user's authorization level and permissions for this application, used to enforce role-based access control throughout the dashboard and API endpoints.
role string optional
Access control role assigned to the current authenticated user for this specific application, determining their permission level for viewing, editing, distributing, or managing application builds and settings.
org.owner org.admin org.editor org.viewer app.owner app.admin app.editor app.viewer unknown
configuration object optional
Advanced configuration settings that control storage, security, retention policies, and integration parameters for this application, allowing administrators to customize behavior according to organizational policies and compliance requirements.
storageProvider object optional
Configuration details for the cloud storage backend that hosts application builds, installation packages, and associated assets, enabling scalable and reliable file distribution to end users and managed devices.
emmJwtSignature string optional
JSON Web Token signature used for secure authentication and authorization when integrating with Enterprise Mobility Management platforms, ensuring only authorized devices can access managed application distributions and updates.
≤ 500 characters
notificationLanguage string optional
Preferred language code for all automated notification emails and messages sent to users regarding this application, supporting internationalization and localization for global enterprise deployments across multiple regions.
es en fr de it zh pt ru
buildRetentionDays number optional
Number of days to retain old application builds before automatic deletion, with negative one meaning unlimited retention, helping organizations manage storage costs while maintaining compliance with version history requirements.
Format: float · ≥ -1
buildsRetainedPerPublication number optional
Maximum number of build versions to retain for each publication channel or distribution group, automatically purging older builds to optimize storage usage while preserving recent release history for rollback scenarios.
Format: float · ≥ -1
retentionApplied object optional
maxBillingBuildRetentionDays number optional
Format: float · ≥ -1
buildsRetainedPerPublication number optional
Format: float · ≥ -1
lastBuildProcessedDate string optional
Timestamp indicating when the most recent application build was successfully uploaded, processed, and made available for distribution, useful for tracking deployment cadence and identifying stale or inactive applications.
Format: date-time
picture string optional
URL or path to the application's icon image displayed in distribution portals, device management interfaces, and user-facing download pages to provide visual identification and branding consistency.
pictureSource string optional
Indicates the origin of the application icon image, whether manually uploaded by administrators, automatically extracted from uploaded build packages, or sourced from app store metadata synchronization processes.
manual last build
organization string optional
Unique identifier for the organization or tenant that owns and manages this application, establishing the organizational boundary for access control, billing, and resource isolation in multi-tenant environments.
Match pattern: ^[a-fA-F0-9]{24}$
counts object optional
Statistical metrics and aggregated counts related to this application, such as total number of builds, active installations, feedback submissions, or distribution downloads, providing operational insights and usage analytics.
metadata object optional
Flexible key-value object for storing custom application attributes, integration identifiers, or business-specific data that extends the core application model without requiring schema modifications for unique organizational requirements.
defaultScripts object optional
Predefined automation scripts that execute at specific lifecycle events for all builds of this application, such as post-upload processing, notification triggers, or integration webhooks that streamline deployment workflows.
preInstall string optional
postInstall string optional
audit string optional
enforce string optional
runner string optional
createdBy string optional
Identifier and metadata about the user or system account that originally created this application record, providing audit trail information for compliance, security reviews, and organizational accountability tracking.
Match pattern: ^[a-fA-F0-9]{24}$
createdAt string optional
Timestamp indicating when this application was first registered in the platform, establishing the baseline for lifecycle tracking, billing calculations, and historical reporting of application management activities.
Format: date-time
updatedAt string optional
Timestamp indicating when this application record was last modified, including changes to configuration, metadata, or any other application properties, essential for change tracking and audit compliance requirements.
Format: date-time
{
    "status": true,
    "data": {
        "id": "507f1f77bcf86cd799439011",
        "name": "Enterprise Mobile Banking App",
        "slug": "mobile-banking-app",
        "sdk": {
            "ios": {
                "ota": true,
                "forceUpdate": false,
                "minVersion": "2.5.0",
                "forceAuth": true,
                "detected": {
                    "sdkVersion": "3.2.1",
                    "capabilities": [
                        "ota",
                        "auth",
                        "feedback"
                    ],
                    "integrationValid": true
                },
                "lastBuildId": "507f1f77bcf86cd799439014",
                "lastBuildVersion": "3.1.2"
            },
            "android": {
                "ota": true,
                "forceUpdate": false,
                "minVersion": "2.5.0",
                "forceAuth": true,
                "detected": {
                    "sdkVersion": "3.2.1",
                    "capabilities": [
                        "ota",
                        "auth",
                        "feedback"
                    ],
                    "integrationValid": true
                },
                "lastBuildId": "507f1f77bcf86cd799439014",
                "lastBuildVersion": "3.1.2"
            }
        },
        "notifications": {
            "newBuildNotifyCollaborators": true,
            "newBuildNotifyEmployees": false,
            "newBuildMessage": "This release includes critical security patches and new features for enhanced mobile banking. Please update immediately to ensure continued access to your accounts.",
            "newFeedbackNotifyCollaborators": true
        },
        "description": "A secure mobile banking application designed for enterprise customers, featuring biometric authentication, real-time transaction monitoring, and seamless integration with our core banking systems.",
        "oss": [
            "ios",
            "android"
        ],
        "buildPlatforms": [
            "ios",
            "android"
        ],
        "security": {
            "role": "org.admin"
        },
        "configuration": {
            "storageProvider": {
                "id": "507f1f77bcf86cd799439012",
                "name": "AWS S3 Production Bucket",
                "region": "eu-west-1",
                "config": "production-app-storage",
                "provider": "aws-s3"
            },
            "emmJwtSignature": "eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkVudGVycHJpc2UgQXBwIn0.signature",
            "notificationLanguage": "en",
            "buildRetentionDays": 90,
            "buildsRetainedPerPublication": 5
        },
        "retentionApplied": {
            "maxBillingBuildRetentionDays": 0,
            "buildsRetainedPerPublication": 0
        },
        "lastBuildProcessedDate": "2026-02-03T10: 30: 00.000Z",
        "picture": "https://cdn.applivery.com/apps/507f1f77bcf86cd799439011/icon.png",
        "pictureSource": "build",
        "organization": "507f1f77bcf86cd799439013",
        "counts": {
            "totalBuilds": 127,
            "activeInstalls": 3421,
            "feedbackCount": 45
        },
        "metadata": {
            "costCenter": "IT-2024",
            "projectCode": "MOBILE-BANK-001",
            "complianceLevel": "PCI-DSS"
        },
        "defaultScripts": {
            "preInstall": "string",
            "postInstall": "string",
            "audit": "string",
            "enforce": "string",
            "runner": "string"
        },
        "createdBy": "507f1f77bcf86cd799439016",
        "createdAt": "2025-01-15T09: 00: 00.000Z",
        "updatedAt": "2026-02-03T14: 25: 00.000Z"
    }
}
400 Response application/json
status boolean optional
false
error object optional
code number optional
5060
message string optional
StorageProvider not found
{
    "status": false,
    "error": {
        "code": 5017,
        "message": "Limit Exceeded"
    }
}
401 Response application/json
status boolean optional
false
error object optional
code number optional
4001
message string optional
Unauthorized
{
    "status": false,
    "error": {
        "code": 4002,
        "message": "No auth token"
    }
}
404 Response application/json
status boolean optional
false
error object optional
code number optional
3001
message string optional
Entity not found
{
    "status": false,
    "error": {
        "code": 3001,
        "message": "Entity not found"
    }
}